In certain applications stored data is shared by two systems which operate asynchronously with respect to each other. This shared data is written and read by both systems.
An example of this type of shared data is incorporated in a timekeeping circuit used in a general purpose computer in which the timekeeping circuit stores time data in a shared or common memory also connected to the computer bus. The timekeeping circuitry periodically reads the time out of the common memory, updates the time, and rewrites the time back into the common memory. A user, through the computer bus, can also read the time from the common memory when required and write corrected time back into the common memory. The time circuitry and the computer both operate with independent clocks and, therefore, operate asynchronously with respect to each other.
However, a collision can occur when both the time circuit and user are trying to write data into the common memory at the same time. The present invention is directed to avoid these collisions by arbitrating the data as it is written into the common memory.